<?php
session_cache_limiter("nocache");
//session_start();
require_once('../utilidades/ConexionBD.php');
require_once('../utilidades/FuncionesGenerales.php');

class OrdTrabajoRecMercanciaItemFoto {
    
    //--- Atributos
    /*
    private $id=0;
    private $fechaGrab;
    private $usuarioGrab;
    private $activo;
    private $ordTrabajo;
    private $ordTrabajoRecMercancia;
    private $codOrdTrabajoRecMercanciaItem;
    private $nombreArchivoServidor;
    private $nombreArchivoOriginal;
    private $observaciones;
    */
    //--- constructor
    function __construct(){}    
    
    //--- Metodos        
    public static function selectById($id){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemFoto\"(
                'selectById'
                ,NULL
                ,".$id."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));                
        }
        //--- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        while($row = pg_fetch_array($res)) {
            $list=array(
                "id"                   =>$row["@id"],
                "fechaGrab"            =>$row["@fechaGrab"],
                "usuarioGrab"          =>$row["@usuarioGrab"],
                "activo"               =>$row["@activo"],
                "codOrdTrabajo"        =>$row["@codOrdTrabajo"],
                "codOrdTrabajoRecMercancia" =>$row["@codOrdTrabajoRecMercancia"],            
                "codOrdTrabajoRecMercanciaItem"        =>$row["@codOrdTrabajoRecMercanciaItem"],            
                "nombreArchivoServidor"       =>$row["@nombreArchivoServidor"],            
                "nombreArchivoOriginal"               =>$row["@nombreArchivoOriginal"],            
                "observaciones"                  =>$row["@observaciones"]
            );
            return json_encode($list);
        }
        return json_encode("");
    }
    
    public static function selectByIdOrdTrabajoRecMercanciaItemPDFReport($idordTrabajoRecMercanciaItem){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemFoto\"(
                'selectByIdOrdTrabajoRecMercanciaItem'
                ,null
                ,".$idordTrabajoRecMercanciaItem."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            echo str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()));                
            return null;
        }
        
        $html="";
        $fotoActual=0;
        
        $temp=FuncionesGenerales::get()->getParameterValue("NumImagenesFilaReportRecMerc");
        if($temp===""){
            $fotos_x_fila=1;
        }else{
            $fotos_x_fila=$temp;
        }
        
        $totalFotos=pg_numrows($res);
        
        $saltoLinea='
';
        
        if($totalFotos>0){
            $html=$html.'
                <tr><td colspan="5">'.$saltoLinea;
            $html=$html.'<table border="1" style="width: 100%; border:1px solid; border-collapse:collapse;  vertical-align: top;">'.$saltoLinea;
                
            while($row = pg_fetch_array($res)) {
                $fotoActual++;
                
                if($fotoActual%$fotos_x_fila===1){
                    $html=$html."<tr>".$saltoLinea;
                }
                
                $html=$html.'<td style="max-width:'.(100/$fotos_x_fila).'%; min-width:'.(100/$fotos_x_fila).'%;"><img style="max-width:'.(100/$fotos_x_fila).'%; min-width:'.(100/$fotos_x_fila).'%; vertical-align: top;" src="../'.$row["@nombreArchivoServidor"].'"></td>'.$saltoLinea;
                
                if($fotoActual%$fotos_x_fila===0){
                    $html=$html."</tr>".$saltoLinea;
                }
            }
            
            //--- sino completo la fila, agrego las otras td vacias
            if($fotoActual%$fotos_x_fila!==0){
                
                while($fotoActual%$fotos_x_fila!==0){
                    $fotoActual++;
                    $html=$html.'<td  style="max-width:'.(100/$fotos_x_fila).'%; min-width:'.(100/$fotos_x_fila).'%;"><img style="max-width:'.(100/$fotos_x_fila).'%; min-width:'.(100/$fotos_x_fila).'%; vertical-align: top;" src="../recursos/imagenes/imagenEnBlanco.png"></td>'.$saltoLinea;
                }
                $html=$html."</tr>".$saltoLinea;
            }
            
            $html=$html.'</table>'.$saltoLinea;
            $html=$html.'</td></tr>'.$saltoLinea;
        }
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno el resultado
        return $html;        
    }

    
    public static function selectByIdOrdTrabajoRecMercanciaItemHTMLTableFormat($idordTrabajoRecMercanciaItem,$numPagina,$registrosPorPagina){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemFoto\"(
                'selectByIdOrdTrabajoRecMercanciaItem'
                ,'".$numPagina."|".$registrosPorPagina."'
                ,".$idordTrabajoRecMercanciaItem."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        
        $html="";
        while($row = pg_fetch_array($res)) {
            
            $fileName=substr($row["@nombreArchivoOriginal"],0,40).(strlen($row["@nombreArchivoOriginal"])>40 ?"...":"");
            $Observ=$row["@observaciones"];
            //$Observ=substr($row["@observaciones"],0,40).(strlen($row["@observaciones"])>40 ?"...":"");
            
            $html=$html."<tr id='".$row["@id"]."'>";
            $html=$html."<td><a href='#' tag='../".$row["@nombreArchivoServidor"]."' class='link_download'>Descargar</a></td>";        
            $html=$html."<td id='nombre".$row["@id"]."'>".$fileName."</td>";        
            $html=$html."<td id='observacion".$row["@id"]."'>".$Observ."</td>";        
            $html=$html."<td>";        
            $html=$html."&nbsp;<img class='icon-remove-RecMercanciaItemFoto' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-edit-RecMercanciaItemFoto' id='icon-edit' src='../recursos/imagenes/edit.png' title='Editar el Registro'>";        
            $html=$html."</td>";        
            $html=$html."</tr>";                    
        }
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno el resultado
        return json_encode(array("HTML"=>$html));    
    }
    
    public static function insert($codUsuario,$idOrdTrabajoRecMercanciaItem,$nombreArchivoServidor,$nombreArchivoOriginal,$observaciones){
        
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemFoto\"(
                'insert'
                ,NULL
                ,".$idOrdTrabajoRecMercanciaItem."
                ,NULL
                ,'".$codUsuario."'
                ,'true'
                ,NULL
                ,NULL
                ,NULL
                ,'".$nombreArchivoServidor."'
                ,'".$nombreArchivoOriginal."'
                ,'".$observaciones."'
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();   
        
        //--- debo retornar el id que se genero al hacer la insercion
        while($row = pg_fetch_array($res)) {
            return json_encode(
                    array(
                         "id"=>$row["@id"]
                        ,"nombreArchivoServidor"=>$row["@nombreArchivoServidor"]
                        ,"nombreArchivoOriginal"=>$row["@nombreArchivoOriginal"]
                        ,"observaciones"=>$row["@observaciones"]
                    ));
        }
        //-- retorno sino devolvio un id, retorno cero para que no se generen erroes en la vista
        return json_encode(array("id"=>"0"));
    }
    
    public static function update($codUsuario,$id,$nombreArchivoOriginal,$observaciones){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemFoto\"(
                'update'
                ,NULL
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,'".$nombreArchivoOriginal."'
                ,'".$observaciones."'
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        return json_encode("");
    }
    
    public static function delete($codUsuario,$id){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemFoto\"(
                'delete'
                ,NULL
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        return json_encode("");
    }
}
?>
